Git 速查手册

git-cheat-sheet

全局 Git 忽略 #

.DS_Store 文件是 macOS 文件系统所特有的,并在每个目录中自动创建。这些文件用于存储目录的自定义属性,例如窗口位置、图标位置或背景颜色。对于大多数开发项目,通常不想将这些文件包含在版本控制中。

解决方案

  1. 在的主目录(通常是 /Users/你的用户名)中创建一个名为 .gitignore_global 的文件

    touch ~/.gitignore_global
    
  2. 编辑 .gitignore_global 文件

    打开刚才创建的 .gitignore_global 文件,并添加你想全局忽略的文件和文件夹模式。例如,要忽略所有 .DS_Store 文件,你可以添加以下内容:

    .DS_Store
    
  3. 将刚才创建的 .gitignore_global 文件作为全局忽略文件

    git config --global core.excludesfile ~/.gitignore_global
    
  4. 验证配置

    git config --get core.excludesfile
    
  5. 如果返回你刚才设置的文件路径,则配置成功.

命令行打开远程仓库 #

Git 命令 #

使用 Git op(或者其他自定义别名)

git config --global alias.op '!sh -c "open $(git remote get-url origin)"'

OP 可以更换为你所想要的其他任何别名

直接输入 op 打开 #

  1. 打开shell配置文件

    • 对于 bash,是 ~/.bashrc~/.bash_profile (macOS)
    • 对于 zsh,是 ~/.zshrc
    • 对于 fish,是 ~/.config/fish/config.fish
  2. 添加别名 在配置文件的底部添加以下内容(以bash或zsh为例):

    alias op="open $(git remote get-url origin)"
    

    如果你使用的是Linux,并且安装了xdg-open,你可以这样设置:

    alias op="xdg-open $(git remote get-url origin)"
    

    对于Windows的Git Bash或其他shell:

    alias op="start \"\" $(git remote get-url origin)"
    
  3. 保存并关闭配置文件

  4. 使更改生效 要使新的别名生效,你需要重新加载配置文件或重启你的shell。对于bash或zsh,你可以运行:

    source ~/.bashrc  # 或 source ~/.zshrc 或 source ~/.bash_profile
    

创建 Git 历史视图 #

git config --global alias.lg "log --oneline --all --graph --decorate"

git lg

自动设置上游分支 #

git config --global push.default current

仓库太大,网速太慢导致克隆出错 #

https://stackoverflow.com/questions/38618885/error-rpc-failed-curl-transfer-closed-with-outstanding-read-data-remaining

remote: Counting objects: 66352, done.
remote: Compressing objects: 100% (10417/10417), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

solve:

  • 先进行浅层克隆,再进行深层克隆

    $ git clone http://github.com/large-repository --depth 1
    $ cd large-repository
    $ git fetch --unshallow
    
  • 增大 git 下载缓冲区

    git config --global http.postBuffer 524288000
    

写一个好的 git commit ? #

Type of commit #

feat: The new feature being added to a particular application fix: A bug fix (this correlates with PATCH in SemVer) style: Feature and updates related to styling refactor: Refactoring a specific section of the codebase test: Everything related to testing docs: Everything related to documentation chore: Regular code maintenance

相关命令

  • 设置提交消息模板

    在主目录中创建一个名为 .gitmessage 的文件,并添加以下内容:

    [summary]
    
    [details]
    

    运行以下命令告诉 Git 使用此文件作为提交消息的模板:

    git config --global commit.template ~/.gitmessage
    
  • 只打印主题行

    git log --oneline
    
  • 按用户提交进行分组

    git shortlog
    

相关文章:

Writing Better Commit Messages - Apurva Jain

How to Write Good Commit Messages: A Practical Git Guide - Bolaji Ayodeji

How to Write a Good Git Commit Message

相关工具:

commitizen

git-cz

文件 git add 后,使用 git-cz 提交

更新于: 2023 年 8 月 14 日